package com.cskaoyan.javase.basic._5escape;

/**
 * 转义字符(escape character)
 * 什么是转义字符？
 * 所谓转义字符，就是用反斜杠（\）加上一个特殊的字符串用来表示一个全新的字符
 * 因为这个字符已经和原先字符串的意思大不相同，所以整体称之为转义字符
 *
 * 转义字符的作用是什么？
 * 实际上转义字符可以表示任何一个普通字符，但是普通的字符直接书写给出即可，使用转义字符意义不大。
 * 转移字符最重要的用途是，表示那些无法用键盘直接输入的控制字符。比如在ASCII码表中，那些换行，翻页等等字符
 * 常见的转义字符:
 * \b	退格(BS) ，将当前位置移到前一列	008
 * \f	换页(FF)，将当前位置移到下页开头	012
 * \n	换行(LF) ，将当前位置移到下一行开头	010
 * \r	回车(CR) ，将当前位置移到本行开头	013
 * \t	水平制表(HT) （跳到下一个TAB位置）	009
 * \\	两个反斜杠表示一个反斜杠	092
 * \'	代表一个单引号（撇号）字符	039
 * \"	代表一个双引号字符	034
 *
 * 转义字符表示所有字符的形式:
 * \ddd	1到3位八进制数所代表的任意字符	Unicode编码前256个字符
 * \0	空字符，什么都没有	000
 *
 *
 * \\uxxxx	4位十六进制所代表的任意字符	Unicode编码前65536个字符
 * \\u0000	空字符，什么都没有	000
 *
 *
 * @since 17:42
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        System.out.println("a");
        System.out.println("abcd\b");
        System.out.print("hello\n");
        System.out.print("world!");

        System.out.println("abcd\refg");
        System.out.println("a\tb\tc\td");

        // 这在IO当中是很重要的,用来表示文件的路径
        System.out.println("\\");

        System.out.println("\"");
        System.out.println("\'");

        // 'a'
        System.out.println("\141");
        System.out.println("\0");
        System.out.println("h");

        char c = '爱';
        System.out.println(c + 0);
        System.out.println("\u7231");
        System.out.println("\u0000");

    }
}
